﻿<?php
require_once 'application/controllers/admin.php';

class AdminAnnouncements extends Admin{

	public function __constructor()
	{
		parent::__construct();
	}

	public function index(){
		$this->announcements();
	}

	######################################################
	#		Администраторски дел за огласна табла		 #
	######################################################
	
	//Функција која прикажува копче за додавање нов оглас
	//и табела за менување на постоечките огласи или бришење на огласи
	public function announcements(){
		$user = $this->userCheck('announcements','admin/main');
		$this->load->helper('form');
		$this->load->model('announcements_model');
	
		$data['title'] = 'ФИНКИ - Администратор - Огласна табла';
		$data['include']="admin/adminContent";
		$data['content'] = 'adminAnnouncements/announcements';
		$data['navbar'] = 'admin/main';
		$data['role'] = $user->role;
		$data['anns'] = $this->announcements_model->getAll();
	
		$this->load->view('masterPage', $data);
	
	}
	
	//Функција која генерира страна за додавање на оглас
	public function addAnnouncements(){
		$user = $this->userCheck('announcements','admin/main');
	
		$this->load->helper('form');
	
		$data['title'] = 'ФИНКИ - Администратор - Додади оглас';

		$data['include']="admin/adminContent";
		$data['content'] = 'adminAnnouncements/addAnnouncements';
		$data['navbar'] = 'admin/main';
		$data['role'] = $user->role;
	
		$this->load->view('masterPage', $data);
	}
	
	//Функција која генерира страна за менување на оглас
	public function editAnnouncements($id){
		$user = $this->userCheck('announcements','admin/main');
	
		$this->load->helper('form');
		$this->load->model('announcements_model');
	
		$data['title'] = 'ФИНКИ - Администратор - Промени оглас';

		$data['include']="admin/adminContent";
		$data['content'] = 'adminAnnouncements/editAnnouncements';
		$data['navbar'] = 'admin/main';
		$data['ann'] = $this->announcements_model->getBy(array('idAnnPk' => $id));
		$data['role'] = $user->role;
	
		$this->load->view('masterPage', $data);
	}
	
	//Функција која брише оглас
	public function deleteAnnouncements(){
		$user = $this->userCheck('announcements','admin/main');
	
		$this->load->model('announcements_model');
	
		$anns = $this->announcements_model->getAll();
		
		foreach($anns as $ann)
			if($this->input->post($ann->idAnnPk)!=null)
			$this->announcements_model->delete(array('idAnnPk'=>$ann->idAnnPk));

		redirect('adminAnnouncements/announcements','refresh');
	}
	
	//Функција која прима податоци (преку post) за додавање или менување на оглас.
	//Пронаоѓа дали треба да додаде или промени оглас преку post('tip')
	public function processAnnouncements($id=null){
		$user = $this->userCheck('announcements','admin/main');
	
		if(!$this->input->post('submit'))
			redirect('admin/main','refresh');
	
		$this->load->library('form_validation');
		$this->load->model('announcements_model');
		$this->load->model('upload_model');
	
		$this->form_validation->set_rules('title', 'title', 'required|xss');
		$this->form_validation->set_rules('content', 'content', 'required|xss');
	
		$title = $this->input->post('title', TRUE);
		$language = $this->input->post('lang', TRUE);
		$content = $this->input->post('content', TRUE);
		$type = $this->input->post('tip', TRUE);
	
		//Доколку валидацијата не помине, пренасочува кон страна за грешка
		if ($this->form_validation->run() == FALSE)
		{
			redirect('error','refresh');
		}
	
		$data = array('title' => $title,
				'content' => $content,
				'language' => $language,
				'dateAdded' => date('Y-m-d'),
				'idUserFk' => $user->idUserPk
		);
	
		switch ($type){
			case 1:
				$this->announcements_model->insert($data);
				break;
			case 2:
				$this->announcements_model->update(array('idAnnPk' => $id),$data);
				break;
		}
	
		redirect('adminAnnouncements/announcements','refresh');
	}
}
?>